// Copyright (C) 2022 即时通讯网(52im.net) & Jack Jiang.
// The RainbowChat Project. All rights reserved.
//
// 【本产品为著作权产品，合法授权后请放心使用，禁止外传！】
// 【本次授权给：<广西木子科技有限公司>，授权编号：<NT220402151538>，代码指纹：<A.648883738.885>，技术对接人微信：<ID: Lingmuziyi>】
// 【授权寄送：<收件：李先生、地址：南宁市科园西十路11号国电智能大厦1101F、电话：17736659550、邮箱：yingshashou@vip.qq.com>】
//
// 【本系列产品在国家版权局的著作权登记信息如下】：
// 1）国家版权局登记名(简称)和权证号：RainbowChat    （证书号：软著登字第1220494号、登记号：2016SR041877）
// 2）国家版权局登记名(简称)和权证号：RainbowChat-Web（证书号：软著登字第3743440号、登记号：2019SR0322683）
// 3）国家版权局登记名(简称)和权证号：RainbowAV      （证书号：软著登字第2262004号、登记号：2017SR676720）
// 4）国家版权局登记名(简称)和权证号：MobileIMSDK-Web（证书号：软著登字第2262073号、登记号：2017SR676789）
// 5）国家版权局登记名(简称)和权证号：MobileIMSDK    （证书号：软著登字第1220581号、登记号：2016SR041964）
// * 著作权所有人：江顺/苏州网际时代信息科技有限公司
//
// 【违法或违规使用投诉和举报方式】：
// 联系邮件：jack.jiang@52im.net
// 联系微信：hellojackjiang
// 联系QQ号：413980957
// 授权说明：http://www.52im.net/thread-1115-1-1.html
// 官方社区：http://www.52im.net
package com.eva.framework.dto;

/**
 * <p>
 * 为了简化系统逻辑，本对象是EVA.EPC框架发送给服务端的唯一对像类型，所以要发送
 * 给服务器的对象都必须是此类（及其子类）的实例.<br>
 *
 * <p>
 * 本类扩展 {@link DataFromClient} 类的作用，仅是为了实现跟Web浏览器端通过JSONP进行数据格式传递。
 *
 * <p>
 * 关于整个MVC框架捕获和处理客户端请求的流程，请参见：{@link com.eva.framework.HttpController}.
 *
 * @author Jack Jiang
 * @since 4.5
 */
public class DataFromClient4Web extends DataFromClient {
    private static final long serialVersionUID = 1L;

    /**
     * 数据返回格式：JSON格式，主要用于APP端调用时
     */
    public final static String RET_FORMAT_JSON = "json";
    /**
     * 数据返回格式：JSON格式，主要用于Web端调用时实现跨域读取数据
     */
    public final static String RET_FORMAT_JSONP = "jsonp";

    /**
     * 数据返回格式
     */
    protected String format = RET_FORMAT_JSON;

    /**
     * 本参数只在retFormat= {@link #RET_FORMAT_JSONP} 时有意义，表示jsonp对应的客户端JS回调函数.
     * 补充：为了兼容jQuery的跨域回调，参数名就定为jsoncallback了
     */
    protected String jsoncallback = null;

    public String getFormat() {
        return format;
    }

    public DataFromClient4Web setFormat(String retFormat) {
        this.format = retFormat;
        return this;
    }

    public String getJsoncallback() {
        return jsoncallback;
    }

    public DataFromClient4Web setJsoncallback(String retCallBack) {
        this.jsoncallback = retCallBack;
        return this;
    }


    /**
     * 一个方便的短方法名的新建本实例的类方法
     */
    public static DataFromClient4Web n() {
        return new DataFromClient4Web();
    }
}
